package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SortPoint {
    public static void main(String[] args) {
        List<Point> list = new ArrayList<>();
        list.add(new Point(6,5));
        list.add(new Point(32,67));
        list.add(new Point(53,267));
        list.add(new Point(34,5));
        list.add(new Point(86,90));
        list.add(new Point(93,235));
        System.out.println("list的原始数据:"+list);

        Collections.sort(list,(o1,o2)->{
            int len1 = o1.getX()*o1.getX()+o1.getY()* o1.getY();
            int len2 = o2.getX()*o2.getX()+o2.getY()* o2.getY();
            return len2-len1;
        });
        //自定义排序规则
        /*
        Collections.sort(list, new Comparator<Point>() {
            @Override
            public int compare(Point o1, Point o2) {
                int len1 = o1.getX()*o1.getX()+o1.getY()* o1.getY();
                int len2 = o2.getX()*o2.getX()+o2.getY()* o2.getY();
                return len2-len1;//降序
                //return len1-len2;//升序
            }
        });

         */
        System.out.println("list排序后数据："+list);
    }
}
